Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tabs: unify vertical tabs styles #65387

Merged
merged 61 commits into from
Oct 7, 2024

Conversation

DaniGuardiola
Copy link
Contributor

@DaniGuardiola DaniGuardiola commented Sep 17, 2024

Fixes #65837 (as a side effect)
Fixes #65863
Fixes #65865

What?

Unifies the styles of vertical tabs across Gutenberg.

Why?

See #64307

How?

By removing style overrides and tweaking the Tabs component to adapt to all needs.

Follow-ups

Testing Instructions

Try the inserter patterns/media vertical tabs.

Screenshots or screencast

d802-bb68-4bc8-a720-907961e44555.mp4

@DaniGuardiola DaniGuardiola requested a review from a team September 17, 2024 06:11
Copy link

github-actions bot commented Sep 17, 2024

Size Change: +4 B (0%)

Total Size: 1.77 MB

Filename Size Change
build/block-editor/index.min.js 256 kB -7 B (0%)
build/block-editor/style-rtl.css 15.3 kB -138 B (-0.89%)
build/block-editor/style.css 15.3 kB -140 B (-0.91%)
build/components/index.min.js 227 kB +289 B (+0.13%)
ℹ️ View Unchanged
Filename Size
build-module/a11y/index.min.js 482 B
build-module/block-library/file/view.min.js 447 B
build-module/block-library/image/view.min.js 1.78 kB
build-module/block-library/navigation/view.min.js 1.16 kB
build-module/block-library/query/view.min.js 743 B
build-module/block-library/search/view.min.js 616 B
build-module/interactivity-router/index.min.js 3 kB
build-module/interactivity/debug.min.js 16.7 kB
build-module/interactivity/index.min.js 13.4 kB
build/a11y/index.min.js 952 B
build/annotations/index.min.js 2.26 kB
build/api-fetch/index.min.js 2.32 kB
build/autop/index.min.js 2.12 kB
build/blob/index.min.js 579 B
build/block-directory/index.min.js 7.26 kB
build/block-directory/style-rtl.css 1.07 kB
build/block-directory/style.css 1.07 kB
build/block-editor/content-rtl.css 4.45 kB
build/block-editor/content.css 4.45 kB
build/block-editor/default-editor-styles-rtl.css 394 B
build/block-editor/default-editor-styles.css 394 B
build/block-library/blocks/archives/editor-rtl.css 61 B
build/block-library/blocks/archives/editor.css 60 B
build/block-library/blocks/archives/style-rtl.css 90 B
build/block-library/blocks/archives/style.css 90 B
build/block-library/blocks/audio/editor-rtl.css 149 B
build/block-library/blocks/audio/editor.css 151 B
build/block-library/blocks/audio/style-rtl.css 132 B
build/block-library/blocks/audio/style.css 132 B
build/block-library/blocks/audio/theme-rtl.css 134 B
build/block-library/blocks/audio/theme.css 134 B
build/block-library/blocks/avatar/editor-rtl.css 115 B
build/block-library/blocks/avatar/editor.css 115 B
build/block-library/blocks/avatar/style-rtl.css 104 B
build/block-library/blocks/avatar/style.css 104 B
build/block-library/blocks/button/editor-rtl.css 265 B
build/block-library/blocks/button/editor.css 265 B
build/block-library/blocks/button/style-rtl.css 538 B
build/block-library/blocks/button/style.css 538 B
build/block-library/blocks/buttons/editor-rtl.css 291 B
build/block-library/blocks/buttons/editor.css 291 B
build/block-library/blocks/buttons/style-rtl.css 345 B
build/block-library/blocks/buttons/style.css 345 B
build/block-library/blocks/calendar/style-rtl.css 240 B
build/block-library/blocks/calendar/style.css 240 B
build/block-library/blocks/categories/editor-rtl.css 132 B
build/block-library/blocks/categories/editor.css 131 B
build/block-library/blocks/categories/style-rtl.css 152 B
build/block-library/blocks/categories/style.css 152 B
build/block-library/blocks/code/editor-rtl.css 53 B
build/block-library/blocks/code/editor.css 53 B
build/block-library/blocks/code/style-rtl.css 121 B
build/block-library/blocks/code/style.css 121 B
build/block-library/blocks/code/theme-rtl.css 122 B
build/block-library/blocks/code/theme.css 122 B
build/block-library/blocks/columns/editor-rtl.css 108 B
build/block-library/blocks/columns/editor.css 108 B
build/block-library/blocks/columns/style-rtl.css 420 B
build/block-library/blocks/columns/style.css 420 B
build/block-library/blocks/comment-author-avatar/editor-rtl.css 124 B
build/block-library/blocks/comment-author-avatar/editor.css 124 B
build/block-library/blocks/comment-author-name/style-rtl.css 72 B
build/block-library/blocks/comment-author-name/style.css 72 B
build/block-library/blocks/comment-content/style-rtl.css 120 B
build/block-library/blocks/comment-content/style.css 120 B
build/block-library/blocks/comment-date/style-rtl.css 65 B
build/block-library/blocks/comment-date/style.css 65 B
build/block-library/blocks/comment-edit-link/style-rtl.css 70 B
build/block-library/blocks/comment-edit-link/style.css 70 B
build/block-library/blocks/comment-reply-link/style-rtl.css 71 B
build/block-library/blocks/comment-reply-link/style.css 71 B
build/block-library/blocks/comment-template/style-rtl.css 200 B
build/block-library/blocks/comment-template/style.css 199 B
build/block-library/blocks/comments-pagination-numbers/editor-rtl.css 122 B
build/block-library/blocks/comments-pagination-numbers/editor.css 121 B
build/block-library/blocks/comments-pagination/editor-rtl.css 228 B
build/block-library/blocks/comments-pagination/editor.css 217 B
build/block-library/blocks/comments-pagination/style-rtl.css 234 B
build/block-library/blocks/comments-pagination/style.css 231 B
build/block-library/blocks/comments-title/editor-rtl.css 75 B
build/block-library/blocks/comments-title/editor.css 75 B
build/block-library/blocks/comments/editor-rtl.css 832 B
build/block-library/blocks/comments/editor.css 832 B
build/block-library/blocks/comments/style-rtl.css 632 B
build/block-library/blocks/comments/style.css 631 B
build/block-library/blocks/cover/editor-rtl.css 641 B
build/block-library/blocks/cover/editor.css 642 B
build/block-library/blocks/cover/style-rtl.css 1.62 kB
build/block-library/blocks/cover/style.css 1.6 kB
build/block-library/blocks/details/editor-rtl.css 65 B
build/block-library/blocks/details/editor.css 65 B
build/block-library/blocks/details/style-rtl.css 86 B
build/block-library/blocks/details/style.css 86 B
build/block-library/blocks/embed/editor-rtl.css 331 B
build/block-library/blocks/embed/editor.css 331 B
build/block-library/blocks/embed/style-rtl.css 419 B
build/block-library/blocks/embed/style.css 419 B
build/block-library/blocks/embed/theme-rtl.css 133 B
build/block-library/blocks/embed/theme.css 133 B
build/block-library/blocks/file/editor-rtl.css 326 B
build/block-library/blocks/file/editor.css 326 B
build/block-library/blocks/file/style-rtl.css 278 B
build/block-library/blocks/file/style.css 279 B
build/block-library/blocks/file/view.min.js 324 B
build/block-library/blocks/footnotes/style-rtl.css 198 B
build/block-library/blocks/footnotes/style.css 197 B
build/block-library/blocks/form-input/editor-rtl.css 229 B
build/block-library/blocks/form-input/editor.css 229 B
build/block-library/blocks/form-input/style-rtl.css 357 B
build/block-library/blocks/form-input/style.css 357 B
build/block-library/blocks/form-submission-notification/editor-rtl.css 344 B
build/block-library/blocks/form-submission-notification/editor.css 341 B
build/block-library/blocks/form-submit-button/style-rtl.css 69 B
build/block-library/blocks/form-submit-button/style.css 69 B
build/block-library/blocks/form/view.min.js 470 B
build/block-library/blocks/freeform/editor-rtl.css 2.6 kB
build/block-library/blocks/freeform/editor.css 2.6 kB
build/block-library/blocks/gallery/editor-rtl.css 946 B
build/block-library/blocks/gallery/editor.css 951 B
build/block-library/blocks/gallery/style-rtl.css 1.83 kB
build/block-library/blocks/gallery/style.css 1.82 kB
build/block-library/blocks/gallery/theme-rtl.css 108 B
build/block-library/blocks/gallery/theme.css 108 B
build/block-library/blocks/group/editor-rtl.css 334 B
build/block-library/blocks/group/editor.css 334 B
build/block-library/blocks/group/style-rtl.css 103 B
build/block-library/blocks/group/style.css 103 B
build/block-library/blocks/group/theme-rtl.css 79 B
build/block-library/blocks/group/theme.css 79 B
build/block-library/blocks/heading/style-rtl.css 188 B
build/block-library/blocks/heading/style.css 188 B
build/block-library/blocks/html/editor-rtl.css 346 B
build/block-library/blocks/html/editor.css 347 B
build/block-library/blocks/image/editor-rtl.css 785 B
build/block-library/blocks/image/editor.css 787 B
build/block-library/blocks/image/style-rtl.css 1.59 kB
build/block-library/blocks/image/style.css 1.59 kB
build/block-library/blocks/image/theme-rtl.css 137 B
build/block-library/blocks/image/theme.css 137 B
build/block-library/blocks/image/view.min.js 1.65 kB
build/block-library/blocks/latest-comments/style-rtl.css 355 B
build/block-library/blocks/latest-comments/style.css 354 B
build/block-library/blocks/latest-posts/editor-rtl.css 179 B
build/block-library/blocks/latest-posts/editor.css 179 B
build/block-library/blocks/latest-posts/style-rtl.css 509 B
build/block-library/blocks/latest-posts/style.css 510 B
build/block-library/blocks/list/style-rtl.css 107 B
build/block-library/blocks/list/style.css 107 B
build/block-library/blocks/loginout/style-rtl.css 61 B
build/block-library/blocks/loginout/style.css 61 B
build/block-library/blocks/media-text/editor-rtl.css 321 B
build/block-library/blocks/media-text/editor.css 320 B
build/block-library/blocks/media-text/style-rtl.css 558 B
build/block-library/blocks/media-text/style.css 556 B
build/block-library/blocks/more/editor-rtl.css 427 B
build/block-library/blocks/more/editor.css 427 B
build/block-library/blocks/navigation-link/editor-rtl.css 644 B
build/block-library/blocks/navigation-link/editor.css 645 B
build/block-library/blocks/navigation-link/style-rtl.css 192 B
build/block-library/blocks/navigation-link/style.css 191 B
build/block-library/blocks/navigation-submenu/editor-rtl.css 295 B
build/block-library/blocks/navigation-submenu/editor.css 294 B
build/block-library/blocks/navigation/editor-rtl.css 2.19 kB
build/block-library/blocks/navigation/editor.css 2.2 kB
build/block-library/blocks/navigation/style-rtl.css 2.25 kB
build/block-library/blocks/navigation/style.css 2.23 kB
build/block-library/blocks/navigation/view.min.js 1.03 kB
build/block-library/blocks/nextpage/editor-rtl.css 392 B
build/block-library/blocks/nextpage/editor.css 392 B
build/block-library/blocks/page-list/editor-rtl.css 378 B
build/block-library/blocks/page-list/editor.css 378 B
build/block-library/blocks/page-list/style-rtl.css 175 B
build/block-library/blocks/page-list/style.css 175 B
build/block-library/blocks/paragraph/editor-rtl.css 236 B
build/block-library/blocks/paragraph/editor.css 236 B
build/block-library/blocks/paragraph/style-rtl.css 341 B
build/block-library/blocks/paragraph/style.css 340 B
build/block-library/blocks/post-author-biography/style-rtl.css 74 B
build/block-library/blocks/post-author-biography/style.css 74 B
build/block-library/blocks/post-author-name/style-rtl.css 69 B
build/block-library/blocks/post-author-name/style.css 69 B
build/block-library/blocks/post-author/editor-rtl.css 107 B
build/block-library/blocks/post-author/editor.css 107 B
build/block-library/blocks/post-author/style-rtl.css 188 B
build/block-library/blocks/post-author/style.css 189 B
build/block-library/blocks/post-comments-form/editor-rtl.css 96 B
build/block-library/blocks/post-comments-form/editor.css 96 B
build/block-library/blocks/post-comments-form/style-rtl.css 527 B
build/block-library/blocks/post-comments-form/style.css 528 B
build/block-library/blocks/post-content/style-rtl.css 61 B
build/block-library/blocks/post-content/style.css 61 B
build/block-library/blocks/post-date/style-rtl.css 62 B
build/block-library/blocks/post-date/style.css 62 B
build/block-library/blocks/post-excerpt/editor-rtl.css 71 B
build/block-library/blocks/post-excerpt/editor.css 71 B
build/block-library/blocks/post-excerpt/style-rtl.css 155 B
build/block-library/blocks/post-excerpt/style.css 155 B
build/block-library/blocks/post-featured-image/editor-rtl.css 729 B
build/block-library/blocks/post-featured-image/editor.css 726 B
build/block-library/blocks/post-featured-image/style-rtl.css 347 B
build/block-library/blocks/post-featured-image/style.css 347 B
build/block-library/blocks/post-navigation-link/style-rtl.css 215 B
build/block-library/blocks/post-navigation-link/style.css 214 B
build/block-library/blocks/post-template/editor-rtl.css 99 B
build/block-library/blocks/post-template/editor.css 98 B
build/block-library/blocks/post-template/style-rtl.css 399 B
build/block-library/blocks/post-template/style.css 398 B
build/block-library/blocks/post-terms/style-rtl.css 96 B
build/block-library/blocks/post-terms/style.css 96 B
build/block-library/blocks/post-time-to-read/style-rtl.css 70 B
build/block-library/blocks/post-time-to-read/style.css 70 B
build/block-library/blocks/post-title/style-rtl.css 162 B
build/block-library/blocks/post-title/style.css 162 B
build/block-library/blocks/preformatted/style-rtl.css 125 B
build/block-library/blocks/preformatted/style.css 125 B
build/block-library/blocks/pullquote/editor-rtl.css 134 B
build/block-library/blocks/pullquote/editor.css 134 B
build/block-library/blocks/pullquote/style-rtl.css 342 B
build/block-library/blocks/pullquote/style.css 342 B
build/block-library/blocks/pullquote/theme-rtl.css 167 B
build/block-library/blocks/pullquote/theme.css 167 B
build/block-library/blocks/query-pagination-numbers/editor-rtl.css 121 B
build/block-library/blocks/query-pagination-numbers/editor.css 118 B
build/block-library/blocks/query-pagination/editor-rtl.css 154 B
build/block-library/blocks/query-pagination/editor.css 154 B
build/block-library/blocks/query-pagination/style-rtl.css 237 B
build/block-library/blocks/query-pagination/style.css 237 B
build/block-library/blocks/query-title/style-rtl.css 64 B
build/block-library/blocks/query-title/style.css 64 B
build/block-library/blocks/query/editor-rtl.css 452 B
build/block-library/blocks/query/editor.css 451 B
build/block-library/blocks/query/view.min.js 958 B
build/block-library/blocks/quote/style-rtl.css 238 B
build/block-library/blocks/quote/style.css 238 B
build/block-library/blocks/quote/theme-rtl.css 233 B
build/block-library/blocks/quote/theme.css 236 B
build/block-library/blocks/read-more/style-rtl.css 138 B
build/block-library/blocks/read-more/style.css 138 B
build/block-library/blocks/rss/editor-rtl.css 101 B
build/block-library/blocks/rss/editor.css 101 B
build/block-library/blocks/rss/style-rtl.css 288 B
build/block-library/blocks/rss/style.css 287 B
build/block-library/blocks/search/editor-rtl.css 199 B
build/block-library/blocks/search/editor.css 199 B
build/block-library/blocks/search/style-rtl.css 672 B
build/block-library/blocks/search/style.css 671 B
build/block-library/blocks/search/theme-rtl.css 113 B
build/block-library/blocks/search/theme.css 113 B
build/block-library/blocks/search/view.min.js 475 B
build/block-library/blocks/separator/editor-rtl.css 100 B
build/block-library/blocks/separator/editor.css 100 B
build/block-library/blocks/separator/style-rtl.css 248 B
build/block-library/blocks/separator/style.css 248 B
build/block-library/blocks/separator/theme-rtl.css 195 B
build/block-library/blocks/separator/theme.css 195 B
build/block-library/blocks/shortcode/editor-rtl.css 286 B
build/block-library/blocks/shortcode/editor.css 286 B
build/block-library/blocks/site-logo/editor-rtl.css 806 B
build/block-library/blocks/site-logo/editor.css 803 B
build/block-library/blocks/site-logo/style-rtl.css 218 B
build/block-library/blocks/site-logo/style.css 218 B
build/block-library/blocks/site-tagline/editor-rtl.css 87 B
build/block-library/blocks/site-tagline/editor.css 87 B
build/block-library/blocks/site-tagline/style-rtl.css 65 B
build/block-library/blocks/site-tagline/style.css 65 B
build/block-library/blocks/site-title/editor-rtl.css 85 B
build/block-library/blocks/site-title/editor.css 85 B
build/block-library/blocks/site-title/style-rtl.css 143 B
build/block-library/blocks/site-title/style.css 143 B
build/block-library/blocks/social-link/editor-rtl.css 338 B
build/block-library/blocks/social-link/editor.css 338 B
build/block-library/blocks/social-links/editor-rtl.css 729 B
build/block-library/blocks/social-links/editor.css 727 B
build/block-library/blocks/social-links/style-rtl.css 1.51 kB
build/block-library/blocks/social-links/style.css 1.5 kB
build/block-library/blocks/spacer/editor-rtl.css 346 B
build/block-library/blocks/spacer/editor.css 346 B
build/block-library/blocks/spacer/style-rtl.css 48 B
build/block-library/blocks/spacer/style.css 48 B
build/block-library/blocks/table-of-contents/style-rtl.css 83 B
build/block-library/blocks/table-of-contents/style.css 83 B
build/block-library/blocks/table/editor-rtl.css 394 B
build/block-library/blocks/table/editor.css 394 B
build/block-library/blocks/table/style-rtl.css 640 B
build/block-library/blocks/table/style.css 639 B
build/block-library/blocks/table/theme-rtl.css 152 B
build/block-library/blocks/table/theme.css 152 B
build/block-library/blocks/tag-cloud/editor-rtl.css 144 B
build/block-library/blocks/tag-cloud/editor.css 144 B
build/block-library/blocks/tag-cloud/style-rtl.css 266 B
build/block-library/blocks/tag-cloud/style.css 265 B
build/block-library/blocks/template-part/editor-rtl.css 368 B
build/block-library/blocks/template-part/editor.css 368 B
build/block-library/blocks/template-part/theme-rtl.css 113 B
build/block-library/blocks/template-part/theme.css 113 B
build/block-library/blocks/term-description/style-rtl.css 126 B
build/block-library/blocks/term-description/style.css 126 B
build/block-library/blocks/text-columns/editor-rtl.css 95 B
build/block-library/blocks/text-columns/editor.css 95 B
build/block-library/blocks/text-columns/style-rtl.css 165 B
build/block-library/blocks/text-columns/style.css 165 B
build/block-library/blocks/verse/style-rtl.css 98 B
build/block-library/blocks/verse/style.css 98 B
build/block-library/blocks/video/editor-rtl.css 396 B
build/block-library/blocks/video/editor.css 397 B
build/block-library/blocks/video/style-rtl.css 192 B
build/block-library/blocks/video/style.css 192 B
build/block-library/blocks/video/theme-rtl.css 134 B
build/block-library/blocks/video/theme.css 134 B
build/block-library/classic-rtl.css 179 B
build/block-library/classic.css 179 B
build/block-library/common-rtl.css 1.1 kB
build/block-library/common.css 1.1 kB
build/block-library/editor-elements-rtl.css 75 B
build/block-library/editor-elements.css 75 B
build/block-library/editor-rtl.css 11.7 kB
build/block-library/editor.css 11.7 kB
build/block-library/elements-rtl.css 54 B
build/block-library/elements.css 54 B
build/block-library/index.min.js 219 kB
build/block-library/reset-rtl.css 472 B
build/block-library/reset.css 472 B
build/block-library/style-rtl.css 14.9 kB
build/block-library/style.css 14.9 kB
build/block-library/theme-rtl.css 708 B
build/block-library/theme.css 712 B
build/block-serialization-default-parser/index.min.js 1.12 kB
build/block-serialization-spec-parser/index.min.js 2.87 kB
build/blocks/index.min.js 52.5 kB
build/commands/index.min.js 16.1 kB
build/commands/style-rtl.css 955 B
build/commands/style.css 952 B
build/components/style-rtl.css 12.3 kB
build/components/style.css 12.3 kB
build/compose/index.min.js 12.7 kB
build/core-commands/index.min.js 3.11 kB
build/core-data/index.min.js 73.4 kB
build/customize-widgets/index.min.js 11 kB
build/customize-widgets/style-rtl.css 1.35 kB
build/customize-widgets/style.css 1.35 kB
build/data-controls/index.min.js 641 B
build/data/index.min.js 8.98 kB
build/date/index.min.js 18 kB
build/deprecated/index.min.js 458 B
build/dom-ready/index.min.js 325 B
build/dom/index.min.js 4.66 kB
build/edit-post/classic-rtl.css 578 B
build/edit-post/classic.css 580 B
build/edit-post/index.min.js 13.6 kB
build/edit-post/style-rtl.css 2.54 kB
build/edit-post/style.css 2.54 kB
build/edit-site/index.min.js 218 kB
build/edit-site/posts-rtl.css 7.35 kB
build/edit-site/posts.css 7.35 kB
build/edit-site/style-rtl.css 12.6 kB
build/edit-site/style.css 12.6 kB
build/edit-widgets/index.min.js 17.8 kB
build/edit-widgets/style-rtl.css 4.19 kB
build/edit-widgets/style.css 4.19 kB
build/editor/index.min.js 103 kB
build/editor/style-rtl.css 9.33 kB
build/editor/style.css 9.34 kB
build/element/index.min.js 4.83 kB
build/escape-html/index.min.js 537 B
build/format-library/index.min.js 8.11 kB
build/format-library/style-rtl.css 476 B
build/format-library/style.css 476 B
build/hooks/index.min.js 1.65 kB
build/html-entities/index.min.js 445 B
build/i18n/index.min.js 3.58 kB
build/is-shallow-equal/index.min.js 526 B
build/keyboard-shortcuts/index.min.js 1.31 kB
build/keycodes/index.min.js 1.46 kB
build/list-reusable-blocks/index.min.js 2.19 kB
build/list-reusable-blocks/style-rtl.css 852 B
build/list-reusable-blocks/style.css 852 B
build/media-utils/index.min.js 3.2 kB
build/notices/index.min.js 946 B
build/nux/index.min.js 1.62 kB
build/nux/style-rtl.css 749 B
build/nux/style.css 745 B
build/patterns/index.min.js 7.34 kB
build/patterns/style-rtl.css 687 B
build/patterns/style.css 685 B
build/plugins/index.min.js 1.81 kB
build/preferences-persistence/index.min.js 2.06 kB
build/preferences/index.min.js 2.9 kB
build/preferences/style-rtl.css 554 B
build/preferences/style.css 554 B
build/primitives/index.min.js 829 B
build/priority-queue/index.min.js 1.54 kB
build/private-apis/index.min.js 960 B
build/react-i18n/index.min.js 630 B
build/react-refresh-entry/index.min.js 9.47 kB
build/react-refresh-runtime/index.min.js 6.76 kB
build/redux-routine/index.min.js 2.69 kB
build/reusable-blocks/index.min.js 2.55 kB
build/reusable-blocks/style-rtl.css 256 B
build/reusable-blocks/style.css 256 B
build/rich-text/index.min.js 10.1 kB
build/router/index.min.js 1.96 kB
build/server-side-render/index.min.js 1.94 kB
build/shortcode/index.min.js 1.4 kB
build/style-engine/index.min.js 2.04 kB
build/token-list/index.min.js 581 B
build/url/index.min.js 3.9 kB
build/vendors/react-dom.min.js 41.7 kB
build/vendors/react-jsx-runtime.min.js 560 B
build/vendors/react.min.js 4.02 kB
build/viewport/index.min.js 965 B
build/warning/index.min.js 250 B
build/widgets/index.min.js 7.17 kB
build/widgets/style-rtl.css 1.16 kB
build/widgets/style.css 1.16 kB
build/wordcount/index.min.js 1.03 kB

compressed-size-action

@DaniGuardiola
Copy link
Contributor Author

@WordPress/gutenberg-design for now I've only removed style overrides. Here's the inserter > patterns Tabs instance.

Before (with overrides):

{A47A17A9-1DF6-4C3A-A208-DE89E363F7BE}

After (without overrides):

{93934931-7A34-43D7-99D3-3A09119BA333}

The main differences I spot in the previous style overrides vs default Tabs styles:

  • Lighter font weight
  • Light blue indicator
  • Active tab has text and svg fill color set to blue (vs. no difference)
  • Smaller tab padding resulting in shorter/more compact tabs

For reference, here's the preferences dialog tabs, which already don't have any style overrides:

{1EFFFCA3-461D-4FB5-A33A-50FF46B11D54}

These are the only two instances of Tabs at the moment in Gutenberg. Ideally, we'd find styles that work in both cases. If necessary, we can consider introducing some sort of variant, but let's try to keep that at a minimum and find something that we feel good about regarding future usage of the component, to prevent more style overrides in the future.

Please leave some feedback, happy to implement any ideas so we can test them!

@jameskoster
Copy link
Contributor

+100 to removing the overrides.

That said, I think the appearance in the Editor is the direction we want to go in. So would it make sense to update the component first, then remove the overrides after? That way there should be minimal visual disruption.

One detail we need to consider is that the color change (gray or blue) is of inadequate contrast to meet requirements, so we need another way to communicate which tab is active. We could address this while updating the component. A good place to start could be making the active tab font weight slightly heavier.

What do you think?

@DaniGuardiola
Copy link
Contributor Author

DaniGuardiola commented Sep 18, 2024

So would it make sense to update the component first, then remove the overrides after? That way there should be minimal visual disruption.

Well, the thing is we only have two instances of vertical tabs, so what you're proposing doesn't make much sense purely in terms of the sequence of steps hehe. If, instead of removing overrides, I update the base component, then the preferences tabs will be affected, so either way there'd be visual disruption.

Here's how I think this PR should evolve:

  1. Remove overrides (done).
  2. Update the Tabs component to look how we want it to look in both instances (inserter and preferences).
  3. Test and iterate until we feel good about it.
  4. Merge and ship it.

I hope that makes sense to you?

Regarding your suggestion that the styles of the inserter tabs are closer to what we want, that makes sense to me. I'll tweak the base component, so both instances will look closer to it.

In parallel, I will also apply your suggestion about the active tab styles. Then, we can take it from there.

Sound good? :)

@jameskoster
Copy link
Contributor

@DaniGuardiola In my experience we don't tend to update multiple things in a single PR like you're suggesting, hence my idea to update the component first. That said, it does make sense to me in this context, providing other folks in the @WordPress/gutenberg-components team agree.

@DaniGuardiola
Copy link
Contributor Author

DaniGuardiola commented Sep 19, 2024

@jameskoster

A good place to start could be making the active tab font weight slightly heavier.

Currently, the weight for tabs is 500. In the inserter, it was overridden to 400.

What if we:

  • Set the default weight to 400 (like in the inserter).
  • Make the active tab 500.

This is how that looks like in inserter and preferences:

font-weight.mp4

I also tried making the active tab have the theme accent color (blue in this case) like the inserter style overrides did. For reference, this is the same color that tabs have when hovered. Here's how it looks like:

active-color.mp4

I quite like this with the light gray indicator. However, it might still not be enough for colorblind or low-vision people.

Here, I tried making the active tab have a weight of 600 (on top of all previous changes):

Kapture.2024-09-19.at.05.55.38.mp4

And here's with 700:

Kapture.2024-09-19.at.05.57.31.mp4

I personally feel much more comfortable shipping this with the increased font weights. Thoughts?

@DaniGuardiola
Copy link
Contributor Author

By the way, the font weight and text color changes also affect horizontal tabs, as you can see in the videos. That said, we could always special-case it to vertical tabs if we don't want that to happen. Maybe worth doing it in both for consistency though, it communicates more clearly that both (vertical and horizontal) are the same component rather than different ones.

@jameskoster
Copy link
Contributor

I reckon we should only apply the weight change to vertical tabs, if possible. Horizontal tabs are fine by virtue of the 'active' shape having enough contrast.

In #64340 (comment) we're leaning towards 500 where additional weight is required, so perhaps we try that here, with inactive tabs using 400?

Here's a visual for the different states, hopefully this communicates things better than words :D

Screenshot 2024-09-19 at 15 11 49

Figma link.

@DaniGuardiola
Copy link
Contributor Author

@jameskoster

In #64340 (comment) we're leaning towards 500 where additional weight is required, so perhaps we try that here, with inactive tabs using 400?

You can see this in my previous comment, it's the first example. Qs:

  1. From the screenshot of the Figma design, I infer that we also want the text color to be the theme accent color as I suggested in my last comment, correct?
  2. And we'll want the light blue (theme accent color at 4% opacity) indicator color too, instead of the current gray one?
  3. I will insist on the point that 500 is not enough weight in my opinion to indicate the active tab. The active text color (as mentioned in point 1 of this list) does help a bit, but it doesn't seem like enough in this context. I got good vision, and still struggle a bit to clearly tell those apart. See my last comment for examples at higher weights.

For now, I'm gonna assume that the answer is yes to points 1 and 2 and push those changes in this PR.

FYI, there's a problem that #64371 fixes that makes the indicator not show up in the inserter, in case you wanted to try it locally. I'm performing a quick hack to get these screenshots and videos for now, but you won't be able to test it locally for now. Hopefully we'll be able to merge that soon though. Let me know if you want me to record or capture something in the meantime.

@DaniGuardiola
Copy link
Contributor Author

@jameskoster

I applied all changes, including the 400/500 weight change, and here's how that looks like currently. 500 (semibold) still seems too low for me, especially with the light blue indicator which looks even dimmer than the previous gray one to me.

Kapture.2024-09-20.at.02.23.19.mp4

@jameskoster
Copy link
Contributor

You may be right about the weight, but the more we increase it the more legibility in certain languages decreases. I think we should proceed with 500 for now, as it is aligned with #64340 (comment) and also because it is objectively an improvement on trunk.

We can gather feedback and open a dedicated issue for this detail. There are other options to explore like adding a shape to the active tab:

Screenshot 2024-09-20 at 12 29 47

It's not something that needs to block the other enhancements here, and needs broader visibility to determine the best direction.

@jameskoster
Copy link
Contributor

One small detail; the radius on the active tab should be radius-small.

@DaniGuardiola
Copy link
Contributor Author

@jameskoster various thoughts:

  • Font weight: alright, sounds good.
  • Radius: we could add it, but FYI due to constraints of the web platform, adding a radius would force us to downgrade to a different animation technique for the indicator that would result in slightly worse performance. Not the end of the world, but important to consider.
  • The proposed border design has a curvature that, as far as I know, is not doable in CSS. The best that can be done (without some ugly convoluted tricks that would probably have a negative effect on perf and bundle size) is something like the image below. I strongly recommend that we don't try to implement that non-standard border curvature.
image
  • Current focus-visible style looks like the image below. This is the same style as in horizontal tabs. Is this okay? I personally think it's fine and better since it's consistent with the other orientation. Also less divergent code (for horizontal vs vertical).
image
  • Are we okay with the size as it currently is? The most obvious change in the patterns inserter after the merges would currently be that those tabs are significantly taller now and less dense. I think it's fine, personally, but something to discuss anyway.

@jameskoster
Copy link
Contributor

@DaniGuardiola sorry, the border treatment wasn't a proposal; just an example of something we could try instead of changing the font weight. It's best to explore this in detail in a dedicated issue.

slightly worse performance

How bad are we talking? The majority of UI components have rounded corners, it should be a shame to introduce an inconsistency here.

@DaniGuardiola
Copy link
Contributor Author

sorry, the border treatment wasn't a proposal; just an example of something we could try instead of changing the font weight. It's best to explore this in detail in a dedicated issue

Sure, though I'm a bit worried that we'll make tabs worse if we merge this PR with a design that's considered "incomplete". The goal of this PR was to iterate on a unified design in the first place. I'm happy to split into multiple ones, but let's be careful not to make it worse before making it better.

How bad are we talking?

Not that much. We just can't take advantage of transform anymore. It might become noticeable in lower-end mobile devices, mostly.

Would you mind responding to the rest of the items in my last comment? I want to keep the PR moving forward :D

@jameskoster
Copy link
Contributor

Sure, though I'm a bit worried that we'll make tabs worse if we merge this PR with a design that's considered "incomplete".

I don't think so because we're objectively improving compared with trunk in terms of a11y.

This is the same style as in horizontal tabs. Is this okay?

Agree with you that this is okay for now.

Are we okay with the size as it currently is?

Ideally the vertical tabs are 40px tall. This aligns with the general size convention we have for interactive elements (24/32/40).

@DaniGuardiola
Copy link
Contributor Author

I don't think so because we're objectively improving compared with trunk in terms of a11y.

I find the light blue background harder to see than the previous gray one. This only affects the preferences tabs FWIW. That said, no strong feelings on my side, as long as we don't forget to improve a11y in a follow-up.

Agree with you that this is okay for now.

Cool!

Ideally the vertical tabs are 40px tall.

Okay, right now they are 48px tall. I'll change this to 40px. For reference, this is the original size of the patterns/media tabs, ergo after this PR merges, the size change will only be noticeable on the preferences tabs.

Copy link

github-actions bot commented Oct 4, 2024

Flaky tests detected in 07069c8.
Some tests passed with failed attempts. The failures may not be related to this commit but are still reported for visibility. See the documentation for more information.

🔍 Workflow run URL: https://github.com/WordPress/gutenberg/actions/runs/11183992724
📝 Reported issues:

@stokesman
Copy link
Contributor

I'm not seeing any issues in testing. I think I did see the flashing focus ring Marco mentioned but not now (since ece5efc).

@DaniGuardiola
Copy link
Contributor Author

@stokesman yes, the flashing has indeed been fixed 👍

FYI, #65878 should be backported before this one to avoid nasty conflicts :)

background-color: ${ COLORS.theme.gray[ 100 ] };
}
&[data-select-on-move='true']:has(
:is( :focus-visible, [data-focus-visible] )
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is probably fixed by ariakit/ariakit#4094 which is included in @ariakit/react 0.4.11.

We should follow-up to update ariakit-related dependencies, and consequently we should be able to remove :focus-visible 🤞

Copy link
Contributor

@ciampo ciampo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code changes LGTM, and test well in Storybook and in the editor 🚀

We'll just need to move the CHANGELOG entry under the Unreleased section.

@ndiego
Copy link
Member

ndiego commented Oct 7, 2024

Hey folks, this is labeled as an enhancement, but it fixes a regression in 6.7. Therefore, it's unclear to me if this should be included in 6.7 itself. Thoughts?

@ciampo
Copy link
Contributor

ciampo commented Oct 7, 2024

Hey folks, this is labeled as an enhancement, but it fixes a regression in 6.7. Therefore, it's unclear to me if this should be included in 6.7 itself. Thoughts?

I thought the regression was introduced in #64371, which I thought was not part of 6.7 either — that's why this is marked only to be backported to Gutenberg RC. But if the fix is needed in 6.7, we should definitely backport it (together with #65837 and any dependant PR)

@ndiego
Copy link
Member

ndiego commented Oct 7, 2024

I thought the regression was introduced in #64371, which I thought was not part of 6.7 either — that's why this is marked only to be backported to Gutenberg RC. But if the fix is needed in 6.7, we should definitely backport it (together with #65837 and any dependant PR)

You are correct, I just confirmed. I'll remove #65837 from the 6.7 board. Pardon the false alarm.

@DaniGuardiola DaniGuardiola enabled auto-merge (squash) October 7, 2024 18:10
@DaniGuardiola DaniGuardiola merged commit e4f1150 into trunk Oct 7, 2024
64 checks passed
@DaniGuardiola DaniGuardiola deleted the improve/unify-vertical-tabs-styles branch October 7, 2024 19:55
@github-actions github-actions bot added this to the Gutenberg 19.5 milestone Oct 7, 2024
@jameskoster
Copy link
Contributor

Thanks for all the work on this one @DaniGuardiola 🥳

@cbravobernal
Copy link
Contributor

I just cherry-picked this PR to the release/19.4 branch to get it included in the next release: 9586226

cbravobernal pushed a commit that referenced this pull request Oct 9, 2024
* Remove inserter pattern overrides

* Make font weights 400 (inactive) and 500 (active)

* Apply styles only when vertical.

* Make vertical indicator theme accent color at 4% opacity.

* Make height 48px.

* Add radius.

* Also use hover styles in focus-visible.

* Fix indicator not visible in inserter > patterns/media.

* Adjust padding.

* Tweak focus ring.

* Wrap long labels.

* Add chevron and fix a few minor details.

* Fix merge issues.

* Fix focus indicator (gets cropped with the new overflow auto setting)

* Fix unwanted chevron.

* Fix unwanted nested scrollbar in inserter > patterns/media vertical tabs.

* Switch to transform for performance.

* Adjust border-radius based on scaling factor.

Co-authored-by: DaniGuardiola <daniguardiola@git.wordpress.org>
Co-authored-by: ciampo <mciampini@git.wordpress.org>
Co-authored-by: stokesman <presstoke@git.wordpress.org>
Co-authored-by: jameskoster <jameskoster@git.wordpress.org>
Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>
Co-authored-by: ndiego <ndiego@git.wordpress.org>
Co-authored-by: jeryj <jeryj@git.wordpress.org>
* Apply feedback.

* Add changelog entry.

* Switch to `padding-inline`.

* Remove unnecessary styles.

* Fix horizontal tabs height.

* Remove more unnecessary styles (padding).

* Make horizontal padding specific to inline.

* Make flex/whitespace styles more explicit.

* Make scroll margin specific to vertical tabs.

* The "inline" in inline-flex is unnecessary and confusing, removed it.

* Remove unnecessary position: relative

* Make resets more explicit

* Remove unnecessary text-align.

* Improve comment

* Remove unnecessary margin-left

* Clean up TabList styles.

* Adjust text-align.

* Clean up selector

* Fix focus indicator

* Clean up position: relative.

* Fix typo.

* Add position: relative back.

* Improve focus indicator when selectOnMove is enabled.

* Add fade in effect to chevron when selectOnMove is enabled.

* Use [data-focus-visible] consistently.

* Styles clean up.

* Add comment for clarity.

* Move scroll-margin to the right place.

* Use CSS variable for accuracy.

* Fix overflow.

* Skip failing test for Safari :(

* Fix flashing issue.

* Transition chevron only on selected and not on hover or focus-visible.

* Improve chevron opacity transition with suggested value.

* fix changelog
@cbravobernal cbravobernal removed the Backport to Gutenberg RC Pull request that needs to be backported to a Gutenberg release candidate (RC) label Oct 9, 2024
@@ -175,23 +195,69 @@ export const Tab = styled( Ariakit.Tab )`
opacity: 0;

@media not ( prefers-reduced-motion ) {
transition: opacity 0.1s linear;
transition: opacity 0.15s 0.15s linear;
Copy link
Contributor

@t-hamano t-hamano Oct 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to be sure, is this intentional? This means the duration is 0.15s and the delay is 0.15s. The Button component has a duration of 0.1s and no delay, which feels a bit unnatural to me:

c7ee84a7135d24ae6cdbc2b1e0360687.mp4

Copy link
Contributor

@ciampo ciampo Oct 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is: #65387 (comment)

I believe the idea is to show the chevron only after the "indicator" has animated to the new selected tab

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw the comment, but isn't that animation only expected for vertical tabs?

Additionally, I don't know if it's related to this PR, but I can see that the pattern categories in the block sidebar don't seem to animate properly - they don't have a background color when focused:

b98ac34f83e2a4b460f9aff15ddc6803.mp4

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for reporting - I expect @DaniGuardiola to take a look at this when he's back (I don't think he's online today)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but isn't that animation only expected for vertical tabs?

This seem like a good point. The delay (and maybe the whole transition) should only be needed for data-select-on-move='true' conditions, I think.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On my phone, and on sick leave, but just wanted to say that as far as I remember, this transition was only applied to the Chevron in vertical tabs, and only when select on move is enabled and when using the arrow keys. If that's not the case, something got messed up, and that'd be surprising to me.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See #65387 (comment) 😅

Will fix soon. Silly me!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix in #66198 — it should also fix the pattern categories in the block sidebar mentioned by @t-hamano above.

[data-select-on-move='true']
[role='tab']:is( [aria-selected='true'], )
& {
transition: opacity 0.3s ease-in;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@t-hamano oof, I accidentally replaced the wrong transition, this is where it should have been replaced.

karthick-murugan pushed a commit to karthick-murugan/gutenberg that referenced this pull request Nov 13, 2024
* Remove inserter pattern overrides

* Make font weights 400 (inactive) and 500 (active)

* Apply styles only when vertical.

* Make vertical indicator theme accent color at 4% opacity.

* Make height 48px.

* Add radius.

* Also use hover styles in focus-visible.

* Fix indicator not visible in inserter > patterns/media.

* Adjust padding.

* Tweak focus ring.

* Wrap long labels.

* Add chevron and fix a few minor details.

* Fix merge issues.

* Fix focus indicator (gets cropped with the new overflow auto setting)

* Fix unwanted chevron.

* Fix unwanted nested scrollbar in inserter > patterns/media vertical tabs.

* Switch to transform for performance.

* Adjust border-radius based on scaling factor.

Co-authored-by: DaniGuardiola <daniguardiola@git.wordpress.org>
Co-authored-by: ciampo <mciampini@git.wordpress.org>
Co-authored-by: stokesman <presstoke@git.wordpress.org>
Co-authored-by: jameskoster <jameskoster@git.wordpress.org>
Co-authored-by: jasmussen <joen@git.wordpress.org>
Co-authored-by: t-hamano <wildworks@git.wordpress.org>
Co-authored-by: ndiego <ndiego@git.wordpress.org>
Co-authored-by: jeryj <jeryj@git.wordpress.org>
* Apply feedback.

* Add changelog entry.

* Switch to `padding-inline`.

* Remove unnecessary styles.

* Fix horizontal tabs height.

* Remove more unnecessary styles (padding).

* Make horizontal padding specific to inline.

* Make flex/whitespace styles more explicit.

* Make scroll margin specific to vertical tabs.

* The "inline" in inline-flex is unnecessary and confusing, removed it.

* Remove unnecessary position: relative

* Make resets more explicit

* Remove unnecessary text-align.

* Improve comment

* Remove unnecessary margin-left

* Clean up TabList styles.

* Adjust text-align.

* Clean up selector

* Fix focus indicator

* Clean up position: relative.

* Fix typo.

* Add position: relative back.

* Improve focus indicator when selectOnMove is enabled.

* Add fade in effect to chevron when selectOnMove is enabled.

* Use [data-focus-visible] consistently.

* Styles clean up.

* Add comment for clarity.

* Move scroll-margin to the right place.

* Use CSS variable for accuracy.

* Fix overflow.

* Skip failing test for Safari :(

* Fix flashing issue.

* Transition chevron only on selected and not on hover or focus-visible.

* Improve chevron opacity transition with suggested value.

* fix changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Package] Components /packages/components [Type] Enhancement A suggestion for improvement.
Projects
None yet
8 participants